package org.scboy.rbac.service;

import java.util.List;

import org.scboy.utils.entitys.coobi.Model;
import org.scboy.utils.entitys.coobi.Page;

/**
 * 
 *   权限业务相关功能。
 * @author 杨浩
 *
 */
public interface PermissionService {
	
	/**
	 * 分页查询权限（查询参数Model，分页参数Limit）。
	 * @param model
	 * @return
	 */
	Page page(Model model);
	
	/**
	 * 新增权限（权限Model）。
	 * @param model
	 * @return
	 */
	boolean add(Model model);
	
	/**
	 *删除权限（权限ID）。
	 * @param id
	 * @return
	 */
	boolean delete(String id);
	
	/**
	 *更新权限（权限Model）。
	 * @param model
	 * @return
	 */
	boolean update(Model model);
	
	/**
	 * 启用禁用权限（权限ID）。
	 * @param id
	 * @return
	 */
	boolean checkState(String id);
	
	/**
	 * 根据权限ID获取权限信息（权限ID）。
	 * @param id
	 * @return
	 */
	Model get(String id);
	
	/**
	 * 获取可访问的菜单和权限
	 * @param systemId
	 * @param token
	 * @return
	 */
	List<Model> route(String systemId,String token);
	
	
}
